The present invention relates to a router that connects different types of communication networks, such as an Asynchronous Transfer Mode (ATM) network, Ethernet, and point-to-point link, and that performs a frame transfer operation. The invention is also concerned with a control-frame processing method in the router.
Routers, which are used for connecting communication networks, transfer datagrams from one communication network to another communication network. A datagram includes not only communication information to be transferred, but also network-layer addresses (which are the Internet Protocol (IP) addresses if communications are carried out by IP), such as a source address and a destination address. The router determines the output interface and the transfer target node (a router or a terminal) by using the address information contained in the datagram.
Upon receiving from one communication network a datalink frame (for example, an Ethernet frame) defined in the datalink layer (for example, the Media Access Control (MAC) layer), the router performs predetermined processing on the frame in the datalink layer, and then converts it into a packet that can be handled in the network layer. Subsequently, the router determines an output interface of the packet and a network-layer address of the transfer target (i.e., next hop) node according to the network-layer destination address of the packet, and then delivers the packet to the determined output interface. Thereafter, the output interface determines the datalink-layer address according to the network-layer address of the next hop node, and constructs a datalink frame, which is then output to another communication network.
In order to reduce the long processing time and heavy processing load in the above transfer of a datalink frame, which requires predetermined processing in the network layer, the following type of router is being considered. In this router, the received datalink frame can be transferred without needing to convert the frame into a packet and without needing to perform predetermined processing in the network layer. This can be achieved as follows. In this router, virtual data links that handle only specific flows are defined, and an identifier of a virtual data link is assigned to each specific flow.
Then, the router stores the relationship between the identifier of the virtual data link and information for identifying the next hop node to which frames belonging to the specific flow is to be transferred as a lookup table. By referring to the lookup table based on the identifier contained in a specific region of the received datalink frame, the router can obtain the information that identifies the next hop node and then transfer the frame to the next hop node.
In the aforementioned network environment in which communications are performed via routers, the following control factors are essential to perform packet transfer with a guarantee that packet transfer delay and/or packet loss rate will be less than some threshold: packet transfer control performed in the network layer by the packet transmitting terminal and the router, and frame transfer control performed in the datalink layer by each communication network. If the above-mentioned type of router is adopted, packet transfer control in the network layer is not performed in the router. Accordingly, only frame transfer control performed in the datalink layer by each communication network (and packet transfer control performed in the network layer by the packet transmitting terminal) is executed. Since frame transfer control is independently performed in each communication network, control information possessed by a certain communication network cannot be recognized by another communication network. As a consequence, the packet transfer control over a plurality of networks for the above-described guarantee may not be sufficiently performed.
A network environment illustrated in FIG. 1A or 1B is now considered. Packet transfer is being performed from a terminal a(11) to a terminal b(12). A virtual connection for providing Available Bit Rate (ABR) service is established in an ATM network a(15), and through the virtual connection, the terminal a(11) transmits cells to a router c(113). Also a virtual connection for providing ABR service is established in an ATM network b(16), and through the virtual connection, a router d(114) transfers (transmits) the cells to the terminal b(12). In providing the ABR service, a Resource Management (RM) cell including network resource information (e.g., transfer control information, congestion information) is returned to the corresponding source node of the ABR connection within each ATM network, and the resource information in one ATM network is not disclosed to another ATM network, as shown in FIG. 1A or 1B.
This may be because the communication network connecting the router c and the router d is not an ATM network and is thus unable to provide the ABR service. In the example shown in FIGS. 1A and 1B, as the communication network connecting the routers c and d, the Ethernet 17 and the point-to-point link using Point-to-Point Protocol (PPP) (hereinafter referred to as xe2x80x9cPPP linkxe2x80x9d) 18 are respectively employed.
For example, a presence of congestion in the ATM network b(16) can be recognized by the router d(114) , and then the router d(114) decreases the cell transfer rate regarding data to be transferred to the ATM network b(16). In contrast, the presence (or the absence) of congestion in the ATM network b cannot be recognized by the router c(113), which serves as a node outputting the data from the ATM network a(15). Accordingly, the router c does not reduce the transfer rate of datalink frames that are to be transferred through the Ethernet 17 (or the PPP link 18). This increases the number of frames accumulated in the router d(114) that receives the frames from the Ethernet 17 (or the PPP link 18), which may cause frame loss due to the overflow of a buffer in the router d.
As described above, since transfer control in the datalink layer is independently performed within each communication network, the transfer quality over a plurality of networks may be degraded.
It is therefore an object of the present invention to provide a mechanism for exchanging, between one communication network and another communication network, information for transfer control within each communication network, so as to achieve higher transfer quality.
According to one aspect of the present invention, there is provided a network interconnection apparatus for connecting a first network and a second network, comprising: a memory configured to store an identifier of a virtual connection in the first network to be used in receiving a frame belonging to a specified flow and corresponding information for designating a neighboring node in the second network to which the frame from the virtual connection is to be transferred; a transfer unit configured to transfer the frame from the virtual connection to the neighboring node by referring to the memory at a layer lower than a network layer; and a control-frame processing unit configured to terminate a control frame received from the virtual connection so as to perform resource management in a datalink layer within the first network, and configured to create a copy of the control frame so as to transfer the copy of the control frame to the neighboring node through the transfer unit.
According to another aspect of the present invention, there is provided a network interconnection apparatus for connecting a first network and a second network, comprising: a memory configured to store an identifier of a virtual data link dedicated to a specified flow in the first network and a corresponding identifier of a virtual connection to a neighboring node in the second network; a receiving unit configured to receive a frame including a control frame with the identifier of the virtual data link from the first network, the control frame generated in a third network where resource management in a datalink layer is performed according to the control frame; and a control-frame processing unit configured to transmit another control frame to the neighboring node through the virtual connection so as to perform resource management in the datalink layer within the second network, and configured to determine information to be written into said another control frame according to said control frame included in the frame received by the receiving unit.
According to yet another aspect of the present invention, there is provided a method of processing a control frame at a boundary of first and second networks, the method comprising steps of: storing, in a memory, an identifier of a virtual connection in the first network to be used in receiving a frame belonging to a specified flow and corresponding information for designating a neighboring node in the second network to which the frame from the virtual connection is to be transferred; terminating a control frame received from the virtual connection so as to perform resource management in a datalink layer within the first network, while creating a copy of the control frame; and transferring the copy of the control frame to the neighboring node by referring to the memory at a layer lower than a network layer.
According to yet another aspect of the present invention, there is provided a method of processing a control frame at a boundary of first and second networks, the method comprising steps of: storing, in a memory, an identifier of a virtual data link dedicated to a specified flow in the first network and a corresponding identifier of a virtual connection to a neighboring node in the second network; receiving a frame including a control frame with the identifier of the virtual data link from the first network, the control frame generated in a third network where resource management in a datalink layer is performed according to the control frame; and transmitting another control frame to the neighboring node through the virtual connection so as to perform resource management in the datalink layer within the second network, while determining information to be written into said another control frame according to said control frame included in the received frame.
According to yet another aspect of the present invention, there is provided a method of processing a control frame to be transferred in a forward direction in a network system including first, second, and third networks, the method comprising steps of: storing, in a first memory at an egress of the first network, an identifier of a first virtual connection in the first network to be used in receiving a frame belonging to a specified flow and corresponding information for designating a next hop node in the second network to which the frame from the first virtual connection is to be transferred; returning a first control frame received from the first virtual connection so as to perform resource management in a datalink layer within the first network, while creating a copy of the first control frame, at the egress of the first network; transferring a frame including the copy of the first control frame and another frame from the first virtual connection in the first network to the next hop node in the second network by referring to the first memory at a layer lower than a network layer; storing, in a second memory at an ingress of the third network, an identifier of a virtual data link dedicated to the specified flow in the second or other network and a corresponding identifier of a second virtual connection for the specified flow in the third network; receiving said frame including the copy of the first control frame with the identifier of the virtual data link from the second or other network and transmitting a second control frame onto the second virtual connection so as to perform resource management in the datalink layer within the third network, while determining information to be written into the second control frame according to the first control frame, at the ingress of the third network; and transferring said another frame with the identifier of the virtual data link onto the second virtual connection by referring to the second memory at a layer lower than a network layer.
According to yet another aspect of the present invention, there is provided a method of processing a control frame to be transferred in a backward direction in a network system including first, second, and third networks, the method comprising steps of: storing, in a first memory at an ingress of the third network, an identifier of a first virtual connection in the third network to be used in receiving a frame belonging to a specified flow and corresponding information for designating a neighboring node in the second network to which the frame from the first virtual connection is to be transferred; terminating a first control frame received from the first virtual connection so as to perform resource management in a datalink layer within the third network, while creating a copy of the first control frame, at the ingress of the third network; transmitting a frame including the copy of the first control frame to the neighboring node in the second network by referring to the first memory; storing, in a second memory at an egress of the first network, an identifier of a virtual data link dedicated to the specified flow in the second or other network and a corresponding identifier of a second virtual connection for the specified flow in the first network; receiving said frame including the copy of the first control frame with the identifier of the virtual data link from the second or other network; and returning a second control frame received from the second virtual connection so as to perform resource management in the datalink layer within the first network, while determining information to be written into the second control frame according to the first control frame, at the egress of the first network.